import { IMessageBase } from "../../Framework/MQ/IMessageBase";
import { MessageManager } from "../../Framework/MQ/MessageManager";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { EPlantFlowerOperType } from "./EPlantFlowerOperType";
import { SPoint } from "../Public/SPoint";
import { SEntityId } from "../Public/SEntityId";
type int = number;
//class SPlantFlowerOperInfo
    
    export  class SPlantFlowerOperInfo extends IMessageBase
    {
        constructor(arg1: Boolean=false)
        {
            
            super();if (arg1) 
            {
                MessageManager.instance().regist(this);
            }
            return;
        }

        public /* override */ getType(): int
        {
            return this._type;
        }

        public /* override */ clone(): IMessageBase
        {
            return new SPlantFlowerOperInfo();
        }

        public /* override */ __write(arg1: SerializeStream): void
        {
            this.operType.__write(arg1);
            arg1.writeInt(this.intExtend);
            this.point.__write(arg1);
            this.flowerEntityId.__write(arg1);
            return;
        }

        public /* override */ __read(arg1: SerializeStream): void
        {
            this.operType = EPlantFlowerOperType.__read(arg1);
            this.intExtend = arg1.readInt();
            this.point = new SPoint();
            this.point.__read(arg1);
            this.flowerEntityId = new SEntityId();
            this.flowerEntityId.__read(arg1);
            return;
        }

        public /* const */_type: int=12383;

        public /* var */operType: EPlantFlowerOperType;

        public /* var */intExtend: int;

        public /* var */point: SPoint;

        public /* var */flowerEntityId: SEntityId;

        public static /* var */_regist: SPlantFlowerOperInfo;
    }

            SPlantFlowerOperInfo._regist = new SPlantFlowerOperInfo(true);
        